// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; version 2 of the License.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

#pragma once
#include <vector>
#include "vector.h"
#include <Ogre.h>

class Body
{
public:
	Body(Body* parent, double mass = 0.0);
	virtual ~Body(void);
	virtual void update();
	Body* parent;
	Vec3 position;
	Vec3 gposition;
	Vec3 velocity;
	Ogre::Vector3 rposition;
	Ogre::SceneNode* node;
	std::vector<Body*>* children;
	std::vector<Body*>::iterator iter;
	Quat reforientation;
	Quat spin;
	double mass;
};
